Many computer systems have a significant investment in memory subsystems, especially in the case of workstations and servers. Often, the memory investment exceeds the investment in the CPU (central processing unit) components of the computer system. As CPU performance increases, many computer system users decide to upgrade the CPU but to retain the existing memory components.
With the rapid advancement in memory technology, computer systems must be developed for current technologies and they must also continue to support previous technologies. For desktop and other computer systems, memory technology has advanced from DRAMs (Dynamic Random Access Memories) to SDRAMs (Synchronous DRAMs). With DRAM technology, many actuating signals for example, are generated only after earlier timing signals have been provided when the actuating signals are derived from the earlier timing signals. Accordingly, timing was not a critical consideration for most applications. However, with synchronous systems, and particularly with SDRAMs, signal propagation is accomplished in strict accordance with clock signals and all timing and actuation signals must be completed at a particular predetermined time relative to a main clock signal.
The computer industry has standardized on a DIMM (dual inline memory module) interface to basic memory DIMM components. The DIMM interface allows for a specified 168 pin connection to either DRAM devices or SDRAM devices. Since these DIMM slots will accept both DRAM DIMMs and also SDRAM DIMMs, and since many of the signals present on the pins are different depending upon the type of a DIMM that is plugged into the DIMM slot, it is necessary for a computer system to be able to detect if a DIMM device is being used, and if so, which kind of DIMM device is being used in a particular memory subsystem slot. More specifically, the standard 168 pin definition for the buffered EDO (Extended Data Out) DRAM DIMMs and the buffered SDRAM DIMMs have conflicting pin definitions in the presence detection area which is used to determine the memory type and size.
Thus, there is a need for an improved method and implementing system for detecting the presence of a memory module in a memory subsystem and to further be able to detect the particular type of a memory device being used.